﻿<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <script>
        var obj = {
            name: "lili",
            age: 18,
        }
        // Object.defineProperties()
        Object.defineProperties(obj, {
            // 要配置的属性: 配置这是属性的配置对象
            name: {
                // 属性的值
                value: "lisi",
                // 设置这个参数2属性是否可以修改
                writable: false, //true/false
                // 设置这个参数2属性是否可以删除
                configurable: false, //true/false
                // 设置这个参数2属性是否可以循环
                enumerable: false,
            }
        })

        // Object.defineProperty()
        // 设置对象中属性的配置
        // 参数是对象
        // 参数是要配置的属性
        // 参数是配置对象
        Object.defineProperty(obj, "name", {
            // 属性的值
            value: "lisi",
            // 设置这个参数2属性是否可以修改
            writable: false, //true/false
            // 设置这个参数2属性是否可以删除
            configurable: false, //true/false
            // 设置这个参数2属性是否可以循环
            enumerable: false,
        })
        obj.name = "nana";
        console.log(obj);

        delete obj.name;
        console.log(obj);

        // for(var key in obj){
        //     console.log(key)
        //     console.log(obj[key])
        // }

        var obj1 = {
            name: "nana",
            age: 10
        }
        // // 冻结一个对象 不能增加修改删除
        // Object.freeze(obj1);
        // obj1.sex = true;
        // obj1.name = "张三",
        // delete obj1.age;
        // console.log(obj1);
        // // 获取是否被冻结
        // console.log(Object.isFrozen(obj1));

        // // 封存(密封)一个对象 不能增加删除
        // Object.seal(obj1);
        // obj1.sex = true;
        // obj1.name = "张三",
        // delete obj1.age;
        // console.log(obj1);
        // // 是否被密封
        // console.log(Object.isSealed(obj1));


        // 阻止对象的扩张 不能增加
        // Object.preventExtensions(obj1);
        //  obj1.sex = true;
        // obj1.name = "张三",
        // delete obj1.age;
        //  console.log(obj1);
        // //  是否可以扩张
        //  console.log(Object.isExtensible(obj1));
    </script>
</body>
</html>